package ClasesExtras;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.text.TextUtils;
import android.widget.EditText;

public class ValidacionCampos {

	/*Valida si el campo está vacio*/
	public boolean validarCampoVacio(String V){
		String v = V;
		if(TextUtils.isEmpty(v)){
		 return true;		
		}
		return false; //retona false si no está vacio
	}	
	/*Valida si el campo contiene espacios*/
	public boolean validarCampoEspacio(String E){
		String e= E;
			if(e.indexOf(' ')!= -1){
				return true; //retorna true si encuentra algun espacio
			}
			return false; //retona false si no existe un espacio vacio en el dato introducido		
		
	}
	
	/* metodo que elimina los espacios en el inicio y el fin y deja uno en el medio*/
	public String quitarEspaciosIniFin(String C){
		String c=C.replaceAll(" +"," ").trim();
		return c;		
	}
	
	/*Valida que no existan caracteres especiales*/
	public boolean validaCaracterEspecial(String C){
		String c= C;
		Pattern p = Pattern.compile("[^A-Za-z0-9.@_-~#]+"); //("[^A-Za-z ]");
		Matcher m = p.matcher(c);
		if (m.find()){
			return true; //retorna true si encuentra algo diferente a [A-Za-z ]
		}
		return false;
	}
	
	/*Valida el minimo y maximo de caracteres dentro del campo de texto*/
	public boolean MinMaxCaracter(String Ps, int min, int max){
		 String ps=Ps;
		if(ps.length()<min||ps.length()>max){
			return true;
		}
			return false;
		 
	}
	/*Valida el campo de contraseña y de confirmar la contraseña son iguales*/
	public boolean validarCamposIguales(String Co, String C){
		String password= Co;
		String confirmPassword= C;
		if(!password.equals(confirmPassword)){
			return true; //retorna true si los campos son diferentes
		}
		return false;
	}
	//Valida el campo de correo electrónico
	public boolean validarEmail(String correo){
		Pattern p = Pattern.compile("[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})");
		Matcher m = p.matcher(correo);
		if (!m.find()){
			return true;
		}
		return false;
	}
			
	/*Captura el valor de un campo de texto EditText y lo comvierte a String, retornando el valor*/
	public String tomarValorCampo(EditText campo){
		String box= campo.getText().toString();		
		return box; // Retorna el valor del campo de texto
	}
	
	//valida q el campo sólo tenga números
	public boolean validarNumeros(String abc){
		String c= abc;
		Pattern p = Pattern.compile("[^\\d+$]");
		Matcher m = p.matcher(c);
		if (m.find()){
			return true; //retorna true si encuentra algo diferente a números
		}
		return false;
	}
}
